#include "StdAfx.h"
#include "Decoration.h"


Decoration::Decoration(void)
{
}

Decoration::Decoration( const std::string name, const std::string model_path, const float pos_x, const float pos_y, const float pos_z, const float angle,
		        const int axis, const float scale )
:m_name( name ),
 m_model_path( model_path ),
 m_angle( angle ),
 m_axis( axis ),
 m_scale( scale )
{
	m_position.x = pos_x;
	m_position.y = pos_y;
	m_position.z = pos_z;
}

Decoration::Decoration( const Decoration &r )
:m_name( r.m_name ),
 m_model_path( r.m_model_path ),
 m_angle( r.m_angle ),
 m_axis( r.m_axis ),
 m_scale( r.m_scale )
{
	m_position.x = r.m_position.x;
	m_position.y = r.m_position.y;
	m_position.z = r.m_position.z;
}

Decoration::~Decoration(void)
{
}

bool Decoration::operator != (const Decoration &r)
{
	return ( m_name != r.m_name || m_model_path != r.m_model_path || m_position.x != r.m_position.x || m_position.y != r.m_position.y || m_position.z != r.m_position.z 
		     || m_angle != r.m_angle || m_axis != r.m_axis || m_scale != r.m_scale );
}

bool Decoration::operator == (const Decoration &r)
{
	return ( m_name == r.m_name && m_model_path == r.m_model_path && m_position.x == r.m_position.x && m_position.y == r.m_position.y && m_position.z == r.m_position.z 
			 && m_angle == r.m_angle && m_axis == r.m_axis && m_scale == r.m_scale );
}

Decoration& Decoration::operator = (const Decoration &r)
{
	if(*this != r) {
		m_name			= r.m_name;
		m_model_path	= r.m_model_path;
		m_position.x	= r.m_position.x;
		m_position.y	= r.m_position.y;
		m_position.z	= r.m_position.z;
		m_angle			= r.m_angle;
		m_axis			= r.m_axis;
		m_scale			= r.m_scale;
	}

	return *this;
}

std::string Decoration::getName( void ) const
{
	return m_name;
}

void Decoration::setName( const std::string name )
{
	m_name = name;
}

std::string Decoration::getModelPath( void ) const
{
	return m_model_path;
}

void Decoration::setModelPath( const std::string model_path )
{
	m_model_path = model_path;
}

float Decoration::getPosX( void ) const
{
	return m_position.x;
}

void Decoration::setPosX( const float pos_x )
{
	m_position.x = pos_x;
}

float Decoration::getPosY( void ) const
{
	return m_position.y;
}

void Decoration::setPosY( const float pos_y )
{
	m_position.y = pos_y;
}

float Decoration::getPosZ( void ) const
{
	return m_position.z;
}

void Decoration::setPosZ( const float pos_z )
{
	m_position.z = pos_z;
}

float Decoration::getAngle( void ) const
{
	return m_angle;
}

void Decoration::setAngle( const float angle )
{
	m_angle = angle;
}

int Decoration::getAxis( void ) const
{
	return m_axis;
}

void Decoration::setAxis( const int axis )
{
	m_axis = axis;
}

float Decoration::getScale( void ) const
{
	return m_scale;
}

void Decoration::setScale( const float scale )
{
	m_scale = scale;
}